// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import OneClass from '@api/user/model/SysUserDto'
import API from './API'

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '用户', // 词语

    tipDown: '下载模板', // 下载提示
    tipUp: '上传文件', // 下载提示
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 页签
     */
    TAB: [
      ['base', '基本信息'],
      ['organ', `${CORE.MAP.ORGAN}设置`],
      ['role', '角色设置'],
    ],

    /**
     * 有效日期
     */
    VALID_DATE: [
      [1, '无期限'],
      [2, '指定日期'],
    ],

    /**
     * 有效次数
     */
    VALID_NUM: [
      [1, '无限制'],
      [2, '指定次数'],
    ],
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 4. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: CORE.initObj(OneClass, {
    orderBy: [],
    roleIdStr: '',
  }),

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setOne() 重置时使用
   * 4. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(OneClass, {
    tab: 'base',
    gender: 1,
    status: 1,
    validDate: 1, // 有效期 (默认无期限)
    validNum: 1, // 登录次数 (默认无限制)
    expireTime: -1, // 过期时间
    loginLimit: -1, // 登录限制
    someDate: undefined, // 指定日期
    someNum: undefined, // 指定次数
    organId: [],
    organIdStr: '',
    organCheckAll: 2, // 部门是否全选 1是 2否
    organCheckLink: 2, // 部门是否级联选择 1是 2否
  }),

  // —————————————————————————————— 上传状态 —————————————————————————————— //

  /**
   * 初始配置
   */
  INIT_CONFIG: {
    /**
     * 上传有无进度条
     */
    UP_PRROGRESS: true,
  },

  /**
   * 上传参数
   */
  upParam: {
    taskId: '', // 进度条的任务标识
  },

  /**
   * 上传进度
   */
  upProgress: {
    file: null, // 已选择的文件对象
  },
}
